Podsumowanie spotkania roboczego zespołu Lingua
wykonane przez SI Zoom

17 maja 2025

Krótkie podsumowanie

Zespół omawiał różne kwestie techniczne, planowanie projektu i koncepcje programowania, w tym łączność sieciową, projektowanie języka i rozwój algorytmów. Badali nowe podejścia do konstrukcji języka, dzielili się indywidualnymi doświadczeniami i zainteresowaniami oraz rozważali potencjalne zastosowania w różnych branżach. Grupa zajęła się również potrzebą sformalizowanych języków i specyfikacji, podkreślając jednocześnie znaczenie współpracy i otwartej komunikacji w zespole.

Kolejne kroki

Wszyscy uczestnicy zapisują refleksje ze spotkania na Discordzie lub wysyłają bezpośrednio do Andrzeja.

Wszyscy uczestnicy powinni rozważyć i zaproponować potencjalne obszary dla języków specyficznych dla danej domeny.

Aleksander do przygotowania przykładów programów mikrokontrolerów na kolejne spotkanie.

Artur udostępnił link do artykułu o algorytmie mnożenia macierzy na Discord.

Adrian, aby pomóc w dokumentacji związanej z dostępem do dokumentacji medycznej.

Roman, aby pomyśleć i napisać na Discord o podstawach automatycznego udowadniania twierdzeń (Tarski, Grothendieck lub ZFC).

Marek zastanowił się nad potencjalnymi dziedzinami inżynierii dla opracowania języka specyficznego dla danej domeny.

Wszyscy uczestnicy, którzy nie dodali jeszcze swojego zdjęcia do listy mailingowej mogą to zrobić.

Andrzej zebrał się i zaproponował kolejne kroki na podstawie dyskusji ze spotkania.

Wszyscy uczestnicy powinni przygotować się do udostępnienia przykładu (nawet jeśli niekompletnego) na spotkaniu w następnym tygodniu.

Streszczenie

Rozwiązania łączności sieciowej Dyskusja

Zespół omówił kwestie techniczne związane z siłą sygnału i problemami łączności, w szczególności skupiając się na konfiguracji sieci domowej Andrzeja. Marek zaproponował zbadanie alternatywnych rozwiązań, takich jak wykorzystanie sieci elektroenergetycznej do transmisji sygnału, a Michał zaproponował wdrożenie narzędzi monitorujących w celu identyfikacji problemów z łącznością i ich punktów awarii. Grupa zgodziła się na dalsze badania, a Michał zaproponował utworzenie systemu monitorowania opartego na terminalu pod Linuksem w celu śledzenia wydajności sieci między lokalizacją Andrzeja i wirtualną Polską.

Spotkanie Zespołu Cyklu Projektu

Andrzej poprowadził spotkanie w celu omówienia nowego cyklu projektowego, podkreślając znaczenie komunikacji zespołowej i organizacji. Zaproponował rozpoczęcie od przedstawienia członków zespołu, którzy podzielili się swoim doświadczeniem zawodowym i potencjalnymi rolami w projekcie. Adrian wyraził zainteresowanie kierowaniem początkowymi etapami projektu, szczególnie w zakresie uczenia maszynowego i głębokiego uczenia się oraz zaoferował pomoc przy zadaniach programistycznych. Poprosił również, aby wszelkie materiały Git Hub były wysyłane do niego pocztą elektroniczną. Rozmowa zakończyła się tym, że Aleksander potwierdził swoją zdolność słyszenia dyskusji.

Dyskusja na temat implementacji języka

Aleksander wyraził zainteresowanie udziałem w projekcie poprzez skupienie się na implementacji języka Lingua i jego mechanizmów, w tym analizy ryzyka i parserów. Andrzej zasugerował, aby Aleksander przygotował przykłady programów mikrokontrolerów do testowania, na co zgodził się. Dyskutowali także o potrzebie podjęcia decyzji, czy stworzyć język uniwersalny, czy wyspecjalizowany, przy czym Andrzej zauważył, że język uniwersalny może wzbudzić większe zainteresowanie. Aleksander wyraził obawy dotyczące konwersji typów w języku, co Andrzej uznał za ważny aspekt przyszłego rozwoju.

Ad Tech Algorithm Development Dyskusja

Michał zaprezentował swoje doświadczenie w programowaniu, podkreślając swoje doświadczenia z systemami płatniczymi i technologiami reklamowymi. Wyraził zainteresowanie pracą nad algorytmami sortowania i funkcjami skrótu, a także udziałem w projekcie serwera językowego. Michał wyjaśnił, że głównym wyzwaniem jest opracowanie systemu automatycznego określania skuteczności treści reklamowych, co pozwoli firmom zaoszczędzić znaczne pieniądze i czas. Andrzej docenił wagę zadania i poprosił Michała o bardziej szczegółowe opisanie rozwiązania.

Programowanie i projektowanie języka Insights

Podczas spotkania odbyła się dyskusja na temat programowania i projektowania języków, a uczestnicy dzielili się swoimi doświadczeniami i zainteresowaniami. Andrzej wspomniał o poprawkach do rozdziału książki na temat SQL i zachęcał do feedbacku. Seweryn wyraził zainteresowanie pracą nad projektowaniem języka i generatorami parserów. Marek podzielił się swoim doświadczeniem z zakresu informatyki, zarządzania i programowania oraz zaproponował swój wkład w projekt. Grupa omówiła znaczenie testowania i jakości w kodzie korporacyjnym.

Podejście do budowania języka oddolnego

Marek zaproponował nowe podejście do konstrukcji języka, sugerując, że należy zacząć od struktur danych i pracować w górę, a nie zaczynać od pojęć wysokiego poziomu, takich jak liczby rzeczywiste. Argumentował, że to oddolne podejście sprawiłoby, że ich praca byłaby bardziej prosta i lepiej dostosowana do rzeczywistości, którą mają na celu opisać. Andrzej zgodził się z perspektywą Marka, wyrażając zainteresowanie dalszym badaniem tego nowego podejścia. Marek zobowiązał się pisać więcej o swoich pomysłach, a Andrzej zachęcał zespół do rozważenia i przedyskutowania tego nowego kierunku.

Język programowania Rozwój Insights

Artur omówił swoje doświadczenie w zakresie języków programowania i algorytmów, podkreślając znaczenie przewidywalności i certyfikacji w tworzeniu oprogramowania. Wyraził zainteresowanie językiem programowania Lingua zaprezentowanym przez Jacka, podkreślając jego potencjalne zastosowania w różnych branżach, m.in. lotnictwie i autonomii dronów. Artur zasugerował, że zespół powinien przedstawić swoje pomysły Jackowi w celu uzyskania informacji zwrotnej i wskazówek, ponieważ ma on największą wiedzę w tej dziedzinie. Wspomniał również o własnym doświadczeniu w tworzeniu prototypów i rozszerzeń dla języków programowania oraz podkreślił potrzebę współpracy i otwartej komunikacji wewnątrz grupy.

Programowanie Ekosystem Eksperyment Dyskusja

Podczas spotkania Andrzej omawia kwestie techniczne związane z połączeniem internetowym, a Marek i Michał przedstawiają swoje sugestie. Aleksander wyraża zainteresowanie poprzednią prezentacją Artura i prosi o link do artykułu na temat mnożenia macierzy. Następnie Andrzej proponuje rozpoczęcie eksperymentów mających na celu odbudowę ekosystemu programistycznego, począwszy od sprecyzowania ich języka i określenia jego kierunku. Wspomina również o swoim doświadczeniu w pisaniu książki na tematy denotacyjne i bada koncepcję poziomów danych w programowaniu.

Podróż w informatyce i semantyce

Andrzej opowiedział o swojej wczesnej karierze w informatyce, w tym pracy nad językami programowania i teorią automatów w Polsce w czasach komunizmu. Opisał swoje zaangażowanie w projekt semantyki denotacyjnej w Danii, gdzie spotkał naukowców pracujących nad kompilatorem. Zespół, który skupił się na pisaniu definicji semantyki denotacyjnej dla swojego języka, stworzył udany kompilator, który później został sprzedany w Stanach Zjednoczonych. Andrzej podzielił się również swoim doświadczeniem przejścia ze środowiska akademickiego do biznesu, gdzie nauczył się zarządzania jakością i organizacji zespołów, a ostatecznie wrócił do informatyki, aby napisać książkę podsumowującą jego badania z pierwszych 30 lat kariery.

Strategie rozwoju języka programowania

Zespół omówił dwa główne kierunki pracy: opracowanie języka dla programistów i stworzenie środowiska projektowania języków. Andrzej podkreślił potrzebę zajęcia się luką między językiem programowania a sprzętem, jak również brakiem języka interfejsu pomiędzy przyszłymi użytkownikami i programistami, co mogłoby pomóc w zapobieganiu nieporozumieniom. Zasugerował skupienie się na inżynierii jako początkowej dziedzinie dla rozwoju takich języków specyficznych dla domeny, ponieważ byłoby to bardziej dostępne niż inne dziedziny, takie jak prawo lub medycyna. Zespół poruszył również potrzebę kontynuowania prac nad współbieżnością i rozwojem języka SQR, chociaż wymagana jest więcej pracy technicznej przed rozpoczęciem eksperymentów w tych obszarach.

Struktura programu Zasady i podręcznik

Andrzej omówił wyzwania związane z tworzeniem reguł dla różnych struktur programu, w szczególności procedur rekurencyjnych i współbieżnych, zwracając uwagę na potrzebę specyficznych reguł dla każdej struktury. Wspomniał o współpracy z Meritą z Uniwersytetu Gdańskiego nad modelem „Christin” przy tworzeniu podręcznika dla programistów posługujących się definicjami denotacyjnymi. Andrzej podzielił się również, że współpracuje z Andrzejem nad poprawkami do książki, którą niedawno zaktualizował na swojej stronie internetowej.

Język formalny dla meta-aplikacji

Zespół dyskutował o formalizacji języka dla metaaplikacji i specyfikacji specyficznych dla domeny, a Andrzej wyjaśnił potrzebę zdefiniowania języka formalnego i gramatyki dla zautomatyzowanych systemów dowodzących twierdzeń. Marek wyraził zainteresowanie językami domenowymi i zasugerował, że skrzyżowanie formalnych specyfikacji z praktycznymi zastosowaniami może potencjalnie wyeliminować potrzebę programistów, chociaż Andrzej wyjaśnił, że programiści nadal będą mieli role. Roman wniósł spostrzeżenia na temat systemu typu checke-type Mizara i potrzeby podstawowych teorii, podczas gdy grupa zgodziła się kontynuować dyskusję na Discord i spotkać się ponownie w przyszłym tygodniu, aby podzielić się wstępnymi przykładami swoich pomysłów.